Many computing scenarios may involve a cache configured to store an item cache comprising items corresponding to source items stored by one or more source item hosts. The cache might be configured, e.g., to store local versions of the source items; as a descriptor of the source items, such as metadata relating to respective source items; or as an index of the source items. In some of these scenarios, the source items may be variably dynamic, referring to the volatility of the presence and the content of items: some items may be static, other items may be updated infrequently, and other items may change frequently; and where some items are updated at a consistent frequency, while updates of other items are fluctuating or erratic. Respective source items may therefore change at the source item host, but with a variable frequency of changing. However, the cache may not be notified by the source item host when a source item changes, so some of the items in the cache may be stale, i.e., not necessarily reflecting the up-to-date version of the source item available at the source item host. The cache may endeavor to refresh respective items in the cache through a polling mechanism, e.g., requesting the corresponding source item from the source item host and refreshing the item in the cache with any changes since the previous refreshing of the item. However, the cache refreshing may involve considerable computing resources, such as a limited download capacity for receiving items from source item hosts that are accessible over a network. The challenge of refreshing caches also extends to the closely related challenge of maintaining a fresh index of a large-scale resource like the Worldwide Web, where a local index is used to support such services as search and retrieval.